#ifndef LIBNDPFS_H
#define LIBNDPFS_H

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>

//设置某个路径为ndp文件
//如果该路径是文件夹则在该文件夹内构建索引文件，如果该路径是一个文件则
long set_ndp_path(char* path);

//使用这个api进行数据读写，这个api的主要作用是在读写时进行数据和元数据（主要是索引文件）的同步
int open_ndp(const char * pathname, int flags, mode_t mode);
ssize_t pread_ndp(int fd, void *buf, size_t count, off_t offset);
ssize_t pwrite_ndp(int fd, const void *buf, size_t count, off_t offset);

//进行ndp任务的分发，可以通过fd分发已打开的单文件也可以通过路径分发一个未打开的文件或者文件夹
ssize_t ndp_by_fd(int fd, unsigned int operator);
ssize_t ndp_by_path(char* path, unsigned int operator);

#endif